Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that enables high memory densities, high reliability, and low power consumption. Program code, system data such as a basic input/output system (BIOS), firmware, and other information can typically be stored in flash memory devices.
Flash memory operations, such as erase and program, are accomplished using complex algorithms composed of many different steps and requiring control over timing, counter, and analog voltages. For example, a program operation is typically a loop of program pulses and program verify operations executed so that the desired value is written and verified with an appropriate voltage margin. The control of the memory portion of a memory device, such as the memory array in a flash memory, may be accomplished by controlling one or more actuator signals coupled to the memory array. As memory array page size increases, the write cycle time tends to dominate the total page programming time. Attempts to reduce the write cycle time may result in missing commands, addresses, and/or data due to reduced internal signal setup time margins.